Within the past decade, the advent of world-wide electronic communications systems has enhanced the way in which people can send and receive information. In particular, the capabilities of real-time video and audio systems have greatly improved in recent years. However, in order to provide services such as video-on-demand and video conferencing to subscribers, an enormous amount of network bandwidth is required. In fact, network bandwidth is often the main inhibitor in the effectiveness of such systems.
In order to overcome the constraints imposed by networks, compression systems have emerged. These systems reduce the amount of video and audio data which must be transmitted by removing redundancy in the picture sequence. At the receiving end, the picture sequence is uncompressed and may be displayed in real-time.
One example of a video compression standard is the Moving Picture Experts Group (“MPEG”) standard. Within the MPEG standard, video compression is defined both within a given picture and between pictures. Video compression within a picture is accomplished by conversion of the digital image from the time domain to the frequency domain by a discrete cosine transform, quantization, and variable length coding. Video compression between pictures is accomplished via a process referred to as motion estimation and compensation, in which a motion vector plus difference data is used to describe the translation of a set of picture elements (pels) from one picture to another.
The ISO MPEG-2 standard specifies only the syntax of bitstream and semantics of the decoding process. The choice of coding parameters and trade-offs in performance versus complexity are left to the encoder developers.
One aspect of the encoding process is compressing a digital video image into as small a bitstream as possible while still maintaining video detail and quality. The MPEG standard places limitations on the size of the bitstream, and requires that the encoder be able to perform the encoding process. Thus, simply optimizing the bit rate to maintain desired picture quality and detail can be difficult.
A video picture typically contains both busy and simple macroblock segments, and there is a high correlation between the segments. However, certain video frames are of highly contrasted complexity having, e.g., both normal video and noisy (or random) video portions within the frame, such as DIVA. Further, both the normal (or simple) video portion and the noisy portion are often moving from frame to frame. Within such a frame, most of the encode bits can be consumed by macroblocks of the noisy portion before picture coding is completed, thereby producing blockiness or artifacts within the picture and uneven output picture quality.
This invention thus seeks to enhance picture quality of an encoded video sequence having one or more pictures with areas of significantly contrasted complexity, and more particularly, to enhance picture quality by dynamically balancing picture bit allocation as the picture coding continues without requiring lengthy buffering or high computational intelligence.